Offers a searchable and scrollable dropdown that allows users to select multiple values.
Examples
Usage
The multi-select component offers a customisable selection box that supports searching. It also enables multi-value selection, allowing users to seamlessly combine typing and scrolling to locate the desired items.
While multi select dropdowns can be powerful tools for user input, approach them with care. This interaction model which combines typing, scrolling, and selection can be confusing, particularly if feedback and validation are unclear. Users may also struggle with discoverability, not realising that multiple selections are possible without clear visual cues.
Thoughtful design and testing are essential to ensure this component enhances rather than hinders the user experience.
Do:
match the select width to the length of the longest option rather than stretching it to other fields' widths
provide clear instructions or labels so users understand they can select multiple items
keep the list of options manageable to avoid overwhelming users
include search to help users find options quickly
test for keyboard and screen reader support
usability test with your users to check this component is usable for them
Avoid:
relying on this component if selections are complex or require detailed context, as multi select can be confusing
using it for very small sets of options where simple checkboxes would be better
overloading it with too many features or large data sets without testing performance and usability
using it as the default multiple selection tool
using mandatory multi select fields without clear guidance
Parameters for turas-select-list
asp-for - binds the select list to a model property
asp-items - specifies the items to be displayed in the select list
multiple - allows multiple selections in the select list
placeholder - provides a placeholder text when no item is selected
guidance-text - displays guidance text below the select list
live-search - enables a search feature within the select list
field-column-widths - sets the column width for the select list
additional-classes - adds custom CSS classes to the select list
hide-validation-message - hides validation messages for the select list